# Динамическое меню

Система позволяет без участия разработчика осуществлять настройки общей иерархии меню и общего перечня вызовов меню (транзакций). Настройка осуществляется из приложения «Настройка системы», меню Настройки и сервисы\Настройки динамического меню. Указанный пункт меню содержит два подпунта: Справочник вызовов и Настройка иерархии меню.

## Справочник вызовов

Справочник вызовов меню позволяет настраивать вызовы меню (транзакции), которые при необходимости можно будет использовать в нескольких различных ветках иерархии динамического меню.

![](img/Img6(menucard).jpg)

*Рисунок 3 Карточка вызова меню*

Справочник содержит следующие поля:

*Таблица 5  Справочник вызовов*

|***Наименование***|***Описание***|***Способ ввода***|
|-|-|-|
|Кодовое имя|Кодовое имя вызова. Позволяет осуществлять поиск и запуск вызова по коду. Обязательное|Текст. Ручной ввод|
|Наименование|Наименование вызова. Обязательное|Текст. Ручной ввод|
|Модуль|Модуль, к которому относится вызов. При переносе конфигурации вызовы, модуль которых отсутствует на целевой базе, не будут устанавливаться|Выбор из списка модулей|
|Тип вызова|Определяет вариант обработки вызова. Может принимать следующие значения: - Открытие списка объектов; - Создание объекта; - Jexl-скрипт|Выбор из выпадающего списка типов вызова|
|Имя выборки и отображения|Обязательное в случае, если Тип вызова = Открытие списка объектов. Выполнение вызова в этом случае открывает указанную выборку и отображение. Поле отображается в характеристиках при выборе соответствующего типа вызова. В остальных случаях не заполняется.|Текст. Ручной ввод|
|Имя класса|Обязательное в случае, если Тип вызова = Создание объекта. Выполнение вызова в этом случае создает объект указанного класса и открывает карточку созданного объекта. Поле отображается в характеристиках при выборе соответствующего типа вызова. В остальных случаях не заполняется.|Текст. Ручной ввод|
|Jexl-скрипт|Обязательное в случае, если Тип вызова = Jexl-скрипт. Выполнение вызова в этом случае выполняет заданный скрипт. Поле отображается в характеристиках при выборе соответствующего типа вызова. В остальных случаях не заполняется.|Текст. Ручной ввод|

На панели инструментов в карточке вызова содержится операция «Сменить тип вызова на Jexl-скрипт». Операция изменяет типа вызова на Jexl-скрипт и формирует текст скрипта в зависимости от предыдущих настроек: для типа «Открытие списка объектов» формируется скрипт для открытия указанной выборки и отображения, для типа «Создание объекта» формируется скрипт по созданию объекта указанного класса. Операция используется в том случае, если просто открыть указанную выборку или создать объект указанного класса недостаточно. Сформированный текст скрипта можно доработать для расширения исполняемый операций вызова.

## Настройка иерархии меню

![](img/Img7(hierarchysetup).jpg)

*Рисунок 4 Настройка иерархии меню*

Настройка иерархии меню содержит следующие поля:

*Таблица 6  Настройка иерархии меню*

|***Наименование***|***Описание***|***Способ ввода***|
|-|-|-|
|Системное имя|Системное имя пункта иерархии. Используется для переноса конфигурации меню между базами.|Текст. Заполняется автоматически при создании|
|Наименование|Наименование пункта иерархии. |Текст. Ручной ввод|
|Модуль|Модуль, к которому относится пункт иерархии.|Выбор из списка модулей|
|Порядковый номер|Порядковый номер пункта иерархии меню. Определяет порядок отображения пунктов иерархии.|Число. Ручной ввод.|
|Код вызова|Код вызова меню из справочника вызовов|Не редактируется. Отображается для пунктов иерархии, соответствующих вызовам|

На закладке «Настройка прав доступа» отображаются роли, наличие которых у пользователя будет давать доступ к выбранному пункту меню. Для предоставления доступа к пункту меню на закладке имеется возможность добавить новую запись и указать роль. При этом роль будет автоматически добавлена для всех вышестоящих пунктов иерархии и для всех потомков выбранного пункта меню.

Для добавления новых пунктов в иерархию меню необходимо выделить пункт, в котором требует добавить новый подпункт или вызов, и воспользоваться одной из операций под кнопкой создания новой записи:
•	Создать пункт меню на уровень ниже. Создает новый пункт меню на уровень ниже выбранного.
•	Создать вызов на уровень ниже. Открывает для выбора справочник вызовов меню и добавляет выбранный вызов на уровень ниже выбранного пункта меню.

